Within the field of computing, many scenarios involve a query received from a user, such as a web search query, a database query, and an informational query presented to an informational agent. Such queries may involve a comparison of a set of keywords identified in the query with the identifiers of associated items, such as words appearing in respective indexed web pages. Informational queries may also involve a request specified by the user, such as a request to send information to another individual or to complete a transaction (e.g., purchasing a ticket to a movie). A device may apply a query processing technique to identify the contents of the query, to execute a search or request on behalf of the user, and to present results to the user.
Many such scenarios may enable a user to modify a query in order to view different results or to specify a different request. To this end, query processing techniques may involve modifying a first query according to a second query. For example, a user may specify a first query as a set of keywords, and may then specify a second query requesting an addition, removal, and/or substitution of keywords in the first query, as well as starting a fresh new search. The device may modify the first query according to the second query and may present an updated result set. A series of such query state modifications may enable a dialog between the user and the device, such as an incremental and iterative refinement of a search or user request in order to fulfill the intent of the user.